using UnityEngine;
using UnityEngine.Networking;
using Unity.Mathematics;

namespace Cesium3DTilesSelection
{
    public struct TileContentLoadInput
    {
        public UnityWebRequest pRequest;
        private Tile tile;
        /**
         * @brief The {@link TileID}.
         */
        public TileID tileID;

        /**
         * @brief The tile {@link BoundingVolume}.
         */
        public BoundingVolume tileBoundingVolume;

        /**
         * @brief Tile content {@link BoundingVolume}.
         */
        public BoundingVolume tileContentBoundingVolume;

        /**
         * @brief The {@link TileRefine}.
         */
        public TileRefine tileRefine;

        /**
         * @brief The geometric error.
         */
        public double tileGeometricError;

        /**
         * @brief The tile transform
         */
        public double4x4 tileTransform;

        /**
         * @brief Options for parsing content and creating Gltf models.
         */
        public TilesetContentOptions contentOptions;
        public TileContentLoadInput(Tile tile) : this()
        {
            this.tile = tile;
            this.tileID = tile._id;
            tileBoundingVolume = tile.boundingVolume;
            tileContentBoundingVolume = tile.contentBoundingVolume;
            tileRefine=tile.refine;
            tileGeometricError=tile.geometricError;
            tileTransform=tile.transform;
            contentOptions=tile.pTileset.Options.contentOptions;

        }
    }
}